这篇文章我们来了解python递归函数的相关内容,递归函数是Python学习中的基础知识,因此本文就给大家来介绍一下,下文有很详细的介绍,有需要的朋友可以参考,接下来就跟随小编来一起学习一下吧! ![](/uploads/allimg/2021/11/2372774539347135584.png)
# 递归满足的条件
# 1.自己调用自己
# 2.必须有一个明确的结束条件
# 优点:逻辑简单\定义简单
# 缺点:防止内存消耗过多,容易导致栈溢出,内存资源紧张,甚至内存泄漏事件发生
# 求阶乘
# 循环的方式去实现
def jiecheng(n):
result=1
for item in range(1,n+1):
result*=item
pass
return result #普通函数必须指定返回值
print('4的阶乘为{}'.format(jiecheng(4)))
![](/uploads/allimg/2021/11/2963226005674684300.jpg)
def diguijc(n):
'''
递归函数
:param n:阶乘参数
:return:
'''
if n==1:
return 1
else:
return n*diguijc(n-1)
pass
# 递归调用
print('4的阶乘为{}'.format(diguijc(4)))
![](/uploads/allimg/2021/11/5689133839644296876.jpg)
# 模拟实现树形结构的遍历
import os #引入文件操作模块
def findFile(file_path):
listRs=os.listdir(file_path) # 得到该路径下所有和文件夹
for fileitem in listRs:
full_path=os.path.join(file_path,fileitem) #组合成为完整的文件路径
if os.path.isdir(full_path): #判断是否是文件夹
file_path(full_path) #如果是一个文件夹,再次递归
pass
else:
print(fileitem)
pass
pass
else:
return
pass
# 先给一个路径
findFile('C:\\Users\\LXQ\\Desktop')
![](/uploads/allimg/2021/11/4676473402888136110.jpg)
总结
关于python递归函数的相关内容就介绍到这,上述示例具有一定的借鉴价值,感兴趣的朋友可以参考,希望能对大家有帮助,想要了解更多python递归函数的内容,大家可以关注其它的相关文章。 文本转载自脚本之家
|